clear;clc;

import Condition.Coil
import Atom.AlkaliMetal
import Gas.Gas
import Laser.AlkaliLaserBeam
import CellSystem.PressureCell

%% Ingredients
coil = { ...
    Condition.Coil('coilx', 0.00001), ...
    Condition.Coil('coily', 0.0), ...
    Condition.Coil('coilz', 0.00003)};

rb85=Atom.AlkaliMetal('85Rb').set_coil(coil);
rb87=Atom.AlkaliMetal('87Rb').set_coil(coil);
n2 = Atom.Buffer.Nitrogen();
xe129 = Atom.Noble('129Xe');
xe131 = Atom.Noble('131Xe');


temperature=273.15+20;
gases={  Gas(rb85, 'vapor', 'temperature', temperature, 'transition', Atom.Transition.D1, 'name', '85Rb'), ...
         Gas(rb87, 'vapor', 'temperature', temperature, 'transition', Atom.Transition.D1, 'name', '87Rb') ...
         Gas(n2, 'buffer', 'temperature', temperature, 'name', 'N2') ...
         Gas(xe129, 'noble', 'temperature', temperature, 'name', '129Xe') ...
         Gas(xe131, 'noble', 'temperature', temperature, 'name', '131Xe') ...
         };

pumpBeam=AlkaliLaserBeam(0.25e-6, ...                     % power in [W]
                         rb87, Atom.Transition.D1, -3064,...%-2.25e3, ... % ref Atom
                         [0 0 1], [1, 0], 2e-3);       % direction, pol, spot size


%%
sys=PressureCell(gases, pumpBeam);
